import 'dart:async';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:interview/config/app.enum.dart';
import 'package:interview/controller/navigation_controller.dart';

class StartPage extends StatefulWidget {
  const StartPage({super.key});

  @override
  _StartPageState createState() => _StartPageState();
}

class _StartPageState extends State<StartPage> {
  late int _counter; // 倒计时计数
  final navigation = Get.find<NavigationController>(); // Getx 的导航控制器

  @override
  void initState() {
    super.initState();
    _counter = 5; // 初始化倒计时为 5 秒
    _startCountdown();
  }

  // 倒计时逻辑
  void _startCountdown() {
    Timer.periodic(const Duration(seconds: 1), (timer) {
      if (_counter <= 1) {
        timer.cancel(); // 倒计时结束，停止计时器
        _navigateToHome(); // 自动跳转到首页
      } else {
        setState(() {
          _counter--;
        });
      }
    });
  }

  // 跳转到首页
  void _navigateToHome() {
    navigation.replace('/home'); // 使用 Getx 跳转到首页
  }

  @override
  Widget build(BuildContext context) {
    // 获取安全区域的高度
    final padding = MediaQuery.of(context).padding;

    return Scaffold(
      appBar: null,
      body: Stack(
        children: [
          // 背景图片铺满屏幕
          Image.asset(
            "${AppEnumAssets.basePath}boot.png",
            fit: BoxFit.cover, // 设置图片填充方式为铺满
            width: double.infinity,
            height: double.infinity,
          ),
          // 倒计时按钮
          Positioned(
            top: padding.top + 4, // 距离顶部为安全区域高度 + 16px
            right: 16, // 距离右侧 16px
            child: GestureDetector(
              onTap: _navigateToHome, // 点击直接跳转到首页
              child: Container(
                padding: const EdgeInsets.symmetric(
                  horizontal: 12.0,
                  vertical: 4.0,
                ),
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.circular(24),
                  color: Colors.black.withOpacity(0.4), // 半透明黑色背景
                ),
                child: Text(
                  "$_counter 秒", // 显示动态倒计时
                  style: const TextStyle(
                    color: Colors.white, // 白色文字
                    fontSize: 12,
                    fontWeight: FontWeight.w600
                  ),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
